using System;
using System.ComponentModel;
using System.Drawing;
using System.Drawing.Design;
using System.Security.Permissions;
using System.Web;

using PickGold.Charting.Utilities;
using PickGold.Charting.Design;

namespace PickGold.Charting
{
	[SRDescription("DescriptionAttributePolygonAnnotation_PolygonAnnotation"), AspNetHostingPermission(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal), AspNetHostingPermission(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
	public class PolygonAnnotation : PolylineAnnotation
	{
		public PolygonAnnotation()
		{
			base.isPolygon = true;
		}

		[Browsable(false), SRDescription("DescriptionAttributeAnnotationType"), SRCategory("CategoryAttributeMisc"), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), Bindable(true), SerializationVisibility(SerializationVisibility.Hidden), EditorBrowsable(EditorBrowsableState.Never)]
		public override string AnnotationType
		{
			get
			{
				return "Polygon";
			}
		}

		[SRCategory("CategoryAttributeAppearance"), Editor(typeof(ChartColorEditor), typeof(UITypeEditor)), Browsable(true), DefaultValue(typeof(Color), ""), SRDescription("DescriptionAttributeBackColor"), NotifyParentProperty(true), TypeConverter(typeof(ColorConverter))]
		public override Color BackColor
		{
			get
			{
				return base.BackColor;
			}
			set
			{
				base.BackColor = value;
			}
		}

		[DefaultValue(0), SRCategory("CategoryAttributeAppearance"), Browsable(true), NotifyParentProperty(true), SRDescription("DescriptionAttributeBackGradientStyle"), Editor(typeof(GradientEditor), typeof(UITypeEditor))]
		public override GradientStyle BackGradientStyle
		{
			get
			{
				return base.BackGradientStyle;
			}
			set
			{
				base.BackGradientStyle = value;
			}
		}

		[Editor(typeof(HatchStyleEditor), typeof(UITypeEditor)), SRCategory("CategoryAttributeAppearance"), Browsable(true), DefaultValue(0), NotifyParentProperty(true), SRDescription("DescriptionAttributeBackHatchStyle")]
		public override ChartHatchStyle BackHatchStyle
		{
			get
			{
				return base.BackHatchStyle;
			}
			set
			{
				base.BackHatchStyle = value;
			}
		}

		[SRCategory("CategoryAttributeAppearance"), Editor(typeof(ChartColorEditor), typeof(UITypeEditor)), Browsable(true), DefaultValue(typeof(Color), ""), NotifyParentProperty(true), SRDescription("DescriptionAttributeBackSecondaryColor"), TypeConverter(typeof(ColorConverter))]
		public override Color BackSecondaryColor
		{
			get
			{
				return base.BackSecondaryColor;
			}
			set
			{
				base.BackSecondaryColor = value;
			}
		}

		[DefaultValue(0), SRCategory("CategoryAttributeAppearance"), Browsable(false)]
		public override LineAnchorCapStyle EndCap
		{
			get
			{
				return base.EndCap;
			}
			set
			{
				base.EndCap = value;
			}
		}

		[SerializationVisibility(SerializationVisibility.Hidden), SRDescription("DescriptionAttributeSelectionPointsStyle"), ParenthesizePropertyName(true), Browsable(false), SRCategory("CategoryAttributeAppearance"), EditorBrowsable(EditorBrowsableState.Never), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), DefaultValue(1)]
		internal override SelectionPointsStyle SelectionPointsStyle
		{
			get
			{
				return SelectionPointsStyle.Rectangle;
			}
		}

		[DefaultValue(0), SRCategory("CategoryAttributeAppearance"), Browsable(false)]
		public override LineAnchorCapStyle StartCap
		{
			get
			{
				return base.StartCap;
			}
			set
			{
				base.StartCap = value;
			}
		}
	}
}

